#配置以及模型都已经到位了，是时候准备创建数据库文件。SQLAlchemy-migrate 包自带命令行和 APIs，
# 这些 APIs 以一种将来允许容易升级的方式来创建数据库。
# 我发现命令行使用起来比较别扭，因此我们自己编写一些 Python 脚本来调用迁移的 APIs。
#!flask/bin/python

#在运行上述命令之后你会发现一个新的 app.db 文件。这是一个空的 sqlite 数据库，创建一开始就支持迁移。
# 同样你还将有一个 db_repository 文件夹，里面还有一些文件，这是 SQLAlchemy-migrate 存储它的数据文件的地方。
# 请注意，我们不会再生的存储库，如果它已经存在。这将使我们重新创建数据库，同时保留现有的存储库，如果我们需要。


import os.path

from migrate.versioning import api

from app import db
from config import SQLALCHEMY_MIGRATE_REPO, SQLALCHEMY_DATABASE_URI

db.create_all()
if not os.path.exists(SQLALCHEMY_MIGRATE_REPO):
    api.create(SQLALCHEMY_MIGRATE_REPO,'database repository')
    api.version_control(SQLALCHEMY_DATABASE_URI,SQLALCHEMY_MIGRATE_REPO)
else:

    api.version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO, api.version(SQLALCHEMY_MIGRATE_REPO))
